//
//  XJSCTopicTableViewProxy.h
//  XinJiangMall
//
//  Created by RaoBo on 2018/6/26.
//  Copyright © 2018年 Tzyang. All rights reserved.
//

#import <Foundation/Foundation.h>

@class XJShouCangTopicsModel;

//xx_ 只是为了和系统的做一个区分防止重名、
typedef void(^XJSCTopicTableViewProxySelectedCellBlock) (NSIndexPath *indexPath, BOOL xx_isEditing, BOOL xx_isSelected , XJShouCangTopicsModel *selModel);


@interface XJSCTopicTableViewProxy : NSObject <UITableViewDelegate,UITableViewDataSource>
@property(nonatomic, strong) NSMutableArray *dataArray;

/**标记是否处于编辑状态*/
@property(nonatomic, assign) BOOL isEditing;


/**选择cell的回调
 indexPath 选择的下标
 xx_isEditing 是否处于编辑状态。(编辑状态就编辑，非编辑状态就跳转)
 xx_isSelected 是否选中
 */
@property (nonatomic, copy) XJSCTopicTableViewProxySelectedCellBlock sctopicsTableViewProxySelectedCellBlock;


@end

#pragma mark - 碰到的问题
//6-27
/**
 问题:右上角按钮处于编辑状态的时候要是显示cell上的选中按钮。反之隐藏选者按钮 怎么实现？这里通过一个变量来标记。同时牵扯到其他类的状态的改变
 1. XJShouCangTopicViewController控制器 中的tableView 要刷新一遍
 2. XJSCTopicsCell 要将 selBtn 这个属性放到 .h 中不然拿不到。
 3. XJSCTopicTableViewProxy 要根据 isEditing 的状态 处理点击是否选中逻辑。
 世界是相互联系的。你在VC1 中点击了一个按钮。VC2中的状态要改变。对应的cell的状态要改变。你又想给控制器瘦身使用Proxy来抽离出tableView的代理方法。 Proxy 也要进行状态的改变。点了一个按钮牵扯到四个类。
 什么叫面向对象:各司其职,有事@你。
 */
